اسماعیل بخش زاد محمودی

09118315058

09336485452

09373054607

09390617786

http://telegram.me/Electronic_iran

mehrsa_bm

Esmail_bakhshzad@yahoo.com esmail2bakhshzad@gmail.com

*راهنمای سفارش پروژه*




www.labcenter.co.uk/

www.powerengineering.blogfa.com

www.Elecdl.com

www.p30download.com

 

 

 

 

 

 

 

 

 

 

Google

در اين وبلاگ
در كل اينترنت

الکترونیک مقدماتی

مقاومت

سلف

خازن

دیود

دیود زنر

یک سوسازی دیود

ترانزیستور BJT

دیجیتال Digital

الکترونیک صنعتی

تایرستورها Thyristors

ترایاک TRIAC

ماسفت MOSFET

ترانزیستور دوقطبی IGBT

مبدل های DC به DC

اینورترها(DC/AC Inverter)

میکرو الکترونیک AVR

برنامه نویسی Assembl

1. مقدمه

2. دستورات محاسباتی


11.مدارات میکروکنترلر 8051

12.مدارات میکروکنترلر PIC

13.مدارات میکروکنترلر AVR

14.مدارات دیجیتال Digital

15.مدارات آنالوگ Analog

16. ماژول های الکترونیک

 



 


دانلود نرم افزارهای کاربردی

 


Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

ساعت

هدف :برنامه ای به زبان C در محیط CodeVision AVR بنویسید که توسط تایمر میکرو کنترلر AVR فرکانس عبوری از یک مدار را اندازه گیری نموده سپس برروی LCD 2*16 نمایش دهد،

در این پروژه سعی شده تا بوسیله یک عدد میکرو کنترلر 8 بیتی 40 پین به نام ATmega16 با 4 پورت و فرکانس نوسان ساز 8MHZ و یک عدد ال سی دی 16*2 یک فرکانسمتر ساده با محدوده نمایش فرکانس با توجه به تایمر صفر میکرو و توابع مربوطه به آن، برنامه نوشته شود که سیگنال ورودی به پورت PB0 یا همان ورودی T0 تایمر صفر که در این برنامه پورت مدنظر وضعیت عادی خود را تغییر داده بجای ورودی خروجی ساده به یک ورودی کنترل شده تایمر تبدیل شده ، فرکانس را سنجیده و بر روی یک عدد LCD مربوطه نمایش دهد:

ساختار پروژه در شکل زیر رسم شده است

فرکانسمتر دیجیتال با میکرو

ابزار استفاده شده برای برنامه مربوطه:

  1. استفاده از تایمر صفر در مد وقفه با ورودی T0
  2. کتابخانه های بکار رفته شده در برنامه عبارتند از: mega16.h - delay.h - stdio.h -lcd.h
  3. رجیستر های long int و char
  4. مد خواندن سطح ورودی Falling Edge
  5. استفاده از وقفه سر ریز تایمر صفر
فرکانسمتر
  1. نواسان ساز خارجی 8 MHZ
  2. میکرو کنترلر AVR Atmega16
  3. مدار ریست میکروکنترلر Reset
  4. کننده فرکانس ورودی (Pulse Generator) برای تایمر صفر میکروکنترلر
  5. پتانسیومتر تنظیم درخشندگی کاراکتر ها
  6. اتصال فرکانس به پورت PB0 بعنوان ورودی پالس شمار تایمر صفر
  7. اوسیلوسکوپ (Oscilloscope) برای نمایش تغییرات پالس
  8. نمایشگر پالس (ANALOGUE ANALYSIS)
  9. پورت C میکروکنترلر بعنوان خروجی برای نمایشگر LCD
  10. نمایشگر LCD 2*16 برای نمایش فرکانسمتر

شرح تایمر صفر میکرو ATmega16 :

تایمر کانتر یکی از بخش های مهم میکروکنترلرها می باشد. در بیشتر مواقع لازم که تعدادی وقایع خارجی (با سرعت بالا) شمارش شود و یا گاهی لازم است که در یک زمان خاص و دقیق، کاری صورت گیرد. تنها توسط تایمر کانتر ها می توان این کارهای دقیق و با سرعت بالا را انجاد داد. میکروکنترلرهای AVR حداکثر دارای شش عدد تایمر کانتر هشت بیتی و شانزده بیتی هستند. برخی از آنها دارای عملکرد ساده و برخی دیگر دارای امکانات بیشتر نظیر تولید موج PWM ، حالت مقایسه CTC ، حالت تسخیر، عملکرد غیر همزمان و ... می باشند. تایمر کانتر صفر در AVR ها را می توان به سه مدل زیر دسته بندی کرد:

  1. ساده هشت بیتی
  2. پیشرفته هشت بیتی
  3. پیشرفته شانزده بیتی

ساده هشت بیتی فقط در سری At90S , ATTiny به کار رفته. پیشرفته هشت بیتی در سری ATmega ها به غیر از ATmega8 و ATmega163 به کار رفته است. (این دو مدل میکرو از مد ساده هشت بیتی استفاده می کنند)پیشرفته شانزده بیتی این مدل فقط در AVR های سری ATTiny13 , ATTiny2313 به کار گرفته است.در اینجا ما از مد پیشرفته هشت بیتی استفاده می کنیم و بیشتر روی codewizard برنامه CodeVision تاکید می کنم. با تنطیم کردن codewizard وضعیت تایمر کانتر ها کد های مربوط رجیستر ها را برای ما بدست می آورد و ما ادامه برنامه را به زبان C می نویسیم.

تایمر کانتر صفر در حالت هشت بیتی پیشرفته:

  1. تایمر کانتر در حالت عادی
  2. تایمر کانتر در حالت مقایسه CTC
  3. تایمر کانتر در حالت PWM سریع (تک شیب)
  4. تایمر کانتر در حالت PWM تصحیح فاز (دو شیب)

رجیستر های تایمر کانتر صفر:

رجیستر مقایسه خروجی OCR0 این رجیستر هشت بیتی خواندنی و نوشتنی بوده و به طور مستقیم با مقدار شمارنده TNNT0 مقایسه می شود. از تطابق این دو برای تولید وقفه خروجی یا تولید یک شکل موج روی پایه OC0 می توان استفاده نمود. رجیستر تایمر کانتر صفر TCNT0 این رجیستر هشت بیتی امکان دسترسی مستقیم برای خواندن و نوشتن در شمارنده را فراهم می کند. رجیستر کنترلی تایمر کانتر صفر TCCR0 که دارای هشت بیت کنترلی است که برای انتخاب پالس ساعت، حالت خروجی هنگام تطابق مقایسه، عملکرد های PWM، و بیت مقایسه خروجی. که در کل با این 8 بیت حالت های مختلفی وجود دارد که با استفاده از codewizard این رجیستر ها تنظیم می شود. رجیستر پرچم وقفه تایمر کانتر صفر TIFR که در این رجیستر بیت TOV0 زمانی یک می شود که یک سر ریز در تایمر یا کانتر صفر رخ داده باشد و بیت های دیگر ... که همه توسط codewizard تنظیم می شوند.

توجه: اگر برنامه را به زبانهای برنامه نویسی دیگر یا تراشه های میکروکنترلر دیگر هم نیاز داشتید می توانم انجام دهم.

راهنمای کامل و گزارشکار آماده و تایپ شده در Microsoft Office Word

برنامه C برای AVR

برنامه فرکانس متر

نکته: آموزش نحوه طراحی و برنامه نویسی تراشه میکروکنترلر AVR به زبان C و توضیح خط به خط برنامه به همراه پروژه برای شما ارسال خواهد شد نمونه ای از بخش های این فایل راهنما در شکل ها آورده شده است:

 


(( سفارش پروژه ))

برای سفارش این برنامه با همین شکل و اجزاء و یا تغییر برنامه مورد نظر به دلخواه خود می توانید از روش های زیر اقدام نمائید، کد سفارش پروژه را ارسال کنید:

هزینه طراحی: SMS-> 0911 831 50 58

کد سفارش پروژه: 103p45

سفارش پروژه >>> Project-esisis.com/Content


برای ارتباط با مدیر سایت از لینکهای زیر استفاده کنید

آدرس کانال سایت در تلگرام : www.telegram.me/Electronic_iran

آیدی جهت ارتباط در تلگرام: @Electronic_iran

 


 

 

 

 

 

 

 

 

 

<img src="Background/Signbot LED (1).gif" width="249" height="49" alt="Signbot LED (1)" />
فروشگاه الکترونیک
کسب درآمد میلیونی در ماه
کانال تلگرام